﻿using System.Collections.Generic;
using System.Drawing;

namespace ReagentStore.UTL
{
	public class ColorPairs
	{
		public ColorPairs(Color fore, Color back)
		{
			ForeColor = fore;
			BackColor = back;
		}

		public Color ForeColor { get; private set; }
		public Color BackColor { get; private set; }
	}

	public class ReagentColorParis
	{
		private static readonly Dictionary<UrgencyLevel, ColorPairs> DictColorPairs =
			new Dictionary<UrgencyLevel, ColorPairs>();

		static ReagentColorParis()
		{
			DictColorPairs.Add(UrgencyLevel.Normal, new ColorPairs(SystemColors.ControlText, SystemColors.Control));
			DictColorPairs.Add(UrgencyLevel.Attentional, new ColorPairs(Color.White, Color.Blue));
			DictColorPairs.Add(UrgencyLevel.Important, new ColorPairs(Color.Black, Color.Yellow));
			DictColorPairs.Add(UrgencyLevel.Critical, new ColorPairs(Color.Yellow, Color.Red));
		}

		public static ColorPairs Normal
		{
			get { return DictColorPairs[UrgencyLevel.Normal]; }
		}

		public static ColorPairs Attentional
		{
			get { return DictColorPairs[UrgencyLevel.Attentional]; }
		}

		public static ColorPairs Important
		{
			get { return DictColorPairs[UrgencyLevel.Important]; }
		}

		public static ColorPairs Critical
		{
			get { return DictColorPairs[UrgencyLevel.Critical]; }
		}

		#region Nested type: UrgencyLevel

		private enum UrgencyLevel
		{
			Normal,
			Attentional,
			Important,
			Critical
		};

		#endregion
	}
}